// import {trayIcon} from '../config/StaticPath'

const path = require('path');
const electron = require('electron')
const ipcMain = electron.ipcMain
const Menu = electron.Menu
const Tray = electron.Tray
const app = electron.app
const isDev = (process.env.NODE_ENV === 'development')

let mainWindow = null
let appTray = null // 托盘实例
// 隐藏主窗口，并创建托盘
export function setTray (main) {
  mainWindow = main
  console.log(appTray)
  // 判断是否存在托盘
  if (appTray && !appTray.isDestroyed()) {
    // 隐藏主窗口
    mainWindow.hide()
    // 启动或停止闪烁窗口, 以吸引用户的注意。
    mainWindow.flashFrame(true)
    return '已经创建过托盘'
  }
  // 当托盘最小化时，右击有一个菜单显示，这里进设置一个退出的菜单
  let trayMenuTemplate = [{ // 系统托盘图标目录
    label: '退出',
    click: function () {
      mainWindow = null
      app.quit() // 点击之后退出应用
    },
  }, {
    label: '打开主窗口',
    click: function () {
      // mainWindow.setSkipTaskbar(false)
      mainWindow.show()
    },
  }
  ]
  // 创建托盘实例
  let trayIcon = path.join(__static, '/img/tools/' || '.') + '16-1.png';
  appTray = new Tray(trayIcon)
  // 图标的上下文菜单
  const contextMenu = Menu.buildFromTemplate(trayMenuTemplate)
  // 隐藏主窗口
  // mainWindow.hide()
  // 启动或停止闪烁窗口, 以吸引用户的注意。
  mainWindow.flashFrame(true)
  // 设置托盘悬浮提示
  let tip = '新IM'
  if(isDev) tip = tip + '(本地开发)'
  appTray.setToolTip(tip)
  // 设置托盘菜单
  appTray.setContextMenu(contextMenu)
  // 单机托盘小图标显示应用
  appTray.on('click', function () {
    // 显示主程序
    mainWindow.show()
    // 将窗口从最小化状态恢复到以前的状态
    mainWindow.restore()
    // // 关闭托盘显示
    // appTray.destroy();
  })
  return '创建完毕'
}
//
// // 主进程监听打开托盘事件，每次点击关闭按钮执行
// ipcMain.on('open-tray', () => {
//   return setTray()
// })
//
